<template>
  <div class="contarner-page" @click.stop="showLanguageHandel">
    <page-header ref="languageRef"></page-header>
    <main>
      <div class="downloader flex_ccenter" v-if="!success">
        <div class="container">
          <div class="banner-heading flex_ccenter">
            <div class="heading-item">
              <h1 class="title fw700 f-42 c-fff">Pengunduh Foto Instagram</h1>
              <h2 class="sub c-fff f-18 fw400">Unduh foto dari Instagram</h2>
            </div>
          </div>
          <div class="form flex_center">
            <div class="input-box flex_between">
              <!-- <input
                  type="text"
                  class="input f-18"
                  v-model="input"
                  @input="handleInput"
                  @paste="handleInput"
                  placeholder="Paste URL Instagram"
                  list="fruits"
                  name="fruit"
                />
                <datalist id="fruits">
                  <option value="Apple"></option>
                  <option value="Banana"></option>
                  <option value="Cherry"></option>
                </datalist> -->
              <input
                type="text"
                class="input f-18"
                v-model="input"
                :disabled="isHttpLoading"
                @input="handleInput"
                @paste="handleInput"
                @keydown="sendDownload($event)"
                placeholder="Paste URL Instagram"
              />
              <div
                class="Paste shou flex_center"
                @click="handleClickPasted"
                v-if="input == ''"
              >
                <div class="btnbg"></div>
                <div class="f-16 c-000 fw700">Paste</div>
              </div>
              <div
                class="clear shou flex_center"
                v-if="input != '' && !isHttpLoading"
                @click.stop="input = ''"
              >
                <div class="btnbg"></div>
                <div class="f-16 c-000 fw700">Clear</div>
              </div>
            </div>
            <div
              v-if="!isHttpLoading"
              @click.stop="downloadHandel"
              class="submit shou fw700 c-fff flex_center"
            >
              Download
            </div>
            <div v-else class="submit shou fw700 c-fff flex_center">
              Please wait
            </div>
          </div>
          <div class="app-submit flex_ccenter">
            <div
              class="submit flex_center"
              v-if="!isHttpLoading"
              @click.stop="downloadHandel"
            >
              <div class="fw700 c-fff f-21">Download</div>
            </div>
            <div class="submit flex_center" v-else>
              <div class="fw700 c-fff f-21">Please wait</div>
            </div>
          </div>
          <div class="loading" v-if="isHttpLoading">
            <div class="loading-dots flex_center">
              <div class="dot"></div>
              <div class="dot"></div>
              <div class="dot"></div>
              <div class="dot"></div>
            </div>
            <div class="tips f-18 flex_center">
              <div>Mengambil data, harap tunggu beberapa detik!</div>
            </div>
          </div>
          <div class="error flex_ccenter" v-if="httpError1">
            <div class="hono flex_">
              <div class="error-img"></div>
              <div class="error-img"></div>
              <div class="error-img"></div>
            </div>
            <div class="errMsg f-18">
              Situs tidak dapat memproses tautan Anda karena bersifat pribadi
            </div>
          </div>
          <div class="error flex_ccenter" v-if="httpError2">
            <div class="hono flex_">
              <div class="error-img"></div>
              <div class="error-img"></div>
              <div class="error-img"></div>
            </div>
            <div class="errMsg f-18">
              Data yang Anda masukkan bukan link. Silakan masukkan tautan yang
              valid, untuk contoh:
              <div>https://www.instagram.com/reel/Cml9qu-ISqx</div>
            </div>
          </div>
        </div>
      </div>
      <!-- 广告位start -->
      <!-- 广告位end -->
      <div class="container" v-if="!success">
        <div class="body-content">
          <div class="app-box">
            <div class="app-box__info">
              <h3 class="app-box__title f-21 fw700 c-000">
                Unduh dengan aplikasi Insta Downloader
              </h3>
              <p class="f-16 c-ccc">
                Aplikasi kami menawarkan solusi cepat dan sederhana untuk
                mengunduh Video Instagram, menyediakan video berkualitas HD
                tanpa tanda air.
              </p>
            </div>
            <div class="app-link">
              <a 
                  target="_blank" href="https://play.google.com/store/apps/details?id=ins.freevideodownload.pro">
                <img src="/static/images/google-play.webp" alt="Download app " />
              </a>
              <a href="https://apps.apple.com/us/app/repost-for-video-save-story/id6462401460"  target="_blank">
                <img src="/static/images/IOS.webp" alt="Download app " />
              </a>
            </div>
          </div>
          <div class="quick-info">
            <h3 class="f-32 c-000">Unduh Foto Instagram dengan Savinginsta</h3>
            <p class="f-16 c-ccc">
              Dengan ribuan postingan dan ratusan ribu suka Instagram setiap
              hari, banyak Instagrammer yang ingin menyimpan postingan ini
              komputer pribadi mereka. Pengunduh foto Instagram Savinginsta
              hadir untuk memenuhi kebutuhan ini, membantu Anda menyimpan foto
              Instagram dengan mudah. Mudah digunakan dan memungkinkan
              pengunduhan tanpa batas. Apa pun postingan yang Anda suka di
              Instagram, Savinginsta dapat membantu Anda dalam mengunduhnya.
            </p>
            <p class="f-16 c-ccc">
              Savinginsta adalah pengunduh foto Instagram (IG) yang
              menyederhanakan menyimpan gambar dari Instagram. Ini sepenuhnya
              gratis dan aman. TIDAK instalasi perangkat lunak diperlukan di
              komputer atau ponsel Anda telepon; yang Anda butuhkan hanyalah
              tautan foto Instagram. Pengolahannya adalah dilakukan di pihak
              kami, jadi Anda hanya perlu sekali klik untuk mengunduh gambar ke
              perangkat Anda.
            </p>
          </div>
          <div class="how">
            <div class="how-title">
              <h3 class="f-36 c-000 italic">
                Bagaimana Cara Menyimpan (Download) Foto Instagram Menggunakan
                Savinginsta?
              </h3>
            </div>
            <div class="steps">
              <p class="super f-16 fw700">
                Ini sangat mudah. Berikut panduan lengkapnya:
              </p>
              <div class="step">
                <div class="one">
                  <span class="fw700 c-blue f-16">Langkah01:</span>
                  <span class="f-16 c-000"
                    >Temukan postingan Instagram dengan gambar favorit Anda dan
                    dapatkan tautannya.</span
                  >
                </div>
              </div>
              <div class="step">
                <span class="fw700 c-blue f-16">Langkah02:</span>
                <span class="f-16 c-000"
                  >Buka halaman Savinginsta dan tempel tautan di bilah
                  alat.</span
                >
              </div>
              <div class="step">
                <span class="fw700 c-blue f-16">Langkah03:</span>
                <span class="f-16 c-000"
                  >Klik tombol Unduh untuk menyimpan foto ke pribadi Anda
                  perangkat.</span
                >
              </div>
            </div>
          </div>
          <div class="how">
            <div class="how-title">
              <h3 class="f-36 c-000 italic">
                Cara Download Foto Instagram (Insta) di iPhone
              </h3>
              <div class="note c-ccc f-16">
                Catatan: Pengunduhan Foto Instagram hanya berfungsi jika iPhone
                Anda 6s (6s Plus) atau lebih baru.
              </div>
            </div>
            <div class="steps">
              <div class="step">
                <div class="one">
                  <span class="fw700 c-blue f-16">Langkah01:</span>
                  <span class="f-16 c-000"
                    >Buka Instagram di iPhone Anda, pilih foto Instagram
                    postingan yang ingin Anda simpan, dan salin URL foto dengan
                    mengklik 3 titik di atas postingan.
                  </span>
                </div>
              </div>
              <div class="photo-bg">
                <img
                  class="img"
                  src="/static/images/instagram-photo-download.webp"
                  alt="copy the Instagram photo URL and paste"
                />
              </div>
              <div class="step">
                <span class="fw700 c-blue f-16">Langkah02:</span>
                <span class="f-16 c-000"
                  >Buka Pengunduh Foto Instagram dengan Safari dan tempel URL
                  foto di toolbar.</span
                >
              </div>
              <div class="step">
                <span class="fw700 c-blue f-16">Langkah03:</span>
                <span class="f-16 c-000"
                  >Klik Unduh, lalu pilih server untuk mulai menyimpan foto
                  Instagram.</span
                >
              </div>
            </div>
            <div class="user-note f-16">
              <div class="app-tip"></div>
              <p>
                Alat kami dirancang untuk membantu Anda mengunduh video dan
                gambar diunggah oleh akun Anda sendiri. Kami berhak menolak
                layanan jika alat kami digunakan untuk melanggar privasi orang
                lain dan materi.
              </p>

              <a class="fw700 c-blue" href="/terms-of-service"
                >Baca Ketentuan Layanan lengkap kami di sini.</a
              >
            </div>
          </div>
          <div class="faq-section">
            <h3 class="faq-title f-36 c-000 italic">FAQ</h3>
            <div class="accordion">
              <div
                id="faq"
                itemscope="itemscope"
                itemtype="https://schema.org/FAQPage"
              >
                <div
                  itemprop="mainEntity"
                  itemscope="itemscope"
                  itemtype="https://schema.org/Question"
                  class="accordion-item"
                  :key="k"
                  v-for="(item, k) in faqList"
                >
                  <h4 itemprop="name" class="accordion-title fw700 f-16">
                    {{ item.title }}
                  </h4>
                  <div
                    itemprop="acceptedAnswer"
                    itemscope=""
                    itemtype="https://schema.org/Answer"
                  >
                    <div
                      itemprop="text"
                      class="accordion-text f-16 c-ccc fw400"
                    >
                      {{ item.content }}
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- 解析结果 start -->
      <div class="container" v-if="success">
        <success-content
          @refresh="refresh"
          :list="successList"
        ></success-content>
      </div>
      <!-- 解析结果 end -->
    </main>
    <footer>
      <div class="container">
        <div class="footer-content">
          <div class="footer-link">
            <div class="row flex_between">
              <div class="col-12">
                <div class="link-label fw700 c-000 f-21">Peralatan</div>
                <ul class="list-unstyled c-ccc f-16">
                  <li>
                    <nuxt-link to="/id/instagram-story-download"
                      >Pengunduh Cerita Instagram</nuxt-link
                    >
                  </li>
                  <li>
                    <nuxt-link to="/id/instagram-reels-video-download"
                      >Pengunduh Reel Instagram</nuxt-link
                    >
                  </li>
                  <li>
                    <a href="https://savingtik.com/" target="_blank"
                      >Pengunduh Tiktok</a
                    >
                  </li>
                </ul>
              </div>
              <div class="col-6">
                <div class="link-label fw700 c-000 f-21">Mendukung</div>
                <ul class="list-unstyled c-ccc f-16">
                  <li>
                    <nuxt-link to="/contact"> Kontak </nuxt-link>
                  </li>
                  <li>
                    <nuxt-link to="/blog"> Blog </nuxt-link>
                  </li>
                </ul>
              </div>
              <div class="col-6">
                <div class="link-label fw700 c-000 f-21">Hukum</div>
                <ul class="list-unstyled c-ccc f-16">
                  <li>
                    <nuxt-link to="/terms-of-service">
                      Ketentuan Layanan
                    </nuxt-link>
                  </li>
                  <li>
                    <nuxt-link to="/privacy-policy"> Kebijakan pribadi </nuxt-link>
                  </li>
                </ul>
              </div>
            </div>
          </div>
          <div class="copyright flex_ccenter">
            <b class="fw700 f-21 c-000"
              >Kami tidak berafiliasi dengan Instagram atau Meta</b
            >
            <div class="c-ccc f-16">
              © {{new Date().getFullYear()}} Insta Downloader All rights reserved.
            </div>
          </div>
        </div>
      </div>
    </footer>
  </div>
</template>
  
  <script>
import { mapState, mapGetters, mapMutations } from "vuex";
import pageHeader from "~/components/page-header.vue";
import SuccessContent from "~/components/success-content.vue";
import CryptoJS from "crypto-js";
import { handleClick, checkString } from "@/plugins/Firebase.js";

export default {
  components: { pageHeader, SuccessContent },
  head: {
    htmlAttrs: {
      lang: "id",
    },
    bodyAttrs: {
      "data-lang": "id",
    },
    title:
      "Pengunduh Foto Instagram - Unduh Foto Instagram dengan Savinginsta",
    meta: [
      { property: "og:locale", content: "id" },

      //Page Information
      {
        name: "description",
        content:
          "Pengunduh Foto Instagram yang memungkinkan Anda mengunduh foto berkualitas tinggi secara online. Dengan alat Pengunduh Foto Instagram Savinginsta, Anda dapat mengunduh foto dengan cepat. Tanpa tanda air.",
      },
      //Schema.org Microdata
      {
        itemprop: "name",
        content:
          "Pengunduh Foto Instagram - Unduh Foto Instagram dengan Savinginsta",
      },
      // Facebook / OpenGraph
      {
        property: "og:title",
        content:
          "Pengunduh Foto Instagram - Unduh Foto Instagram dengan Savinginsta",
      },
      { property: "og:type", content: "website" },
      {
        property: "og:url",
        content: "https://savinginsta.com/id/instagram-photo-download",
      },

      {
        property: "og:description",
        content:
          "Pengunduh Foto Instagram yang memungkinkan Anda mengunduh foto berkualitas tinggi secara online. Dengan alat Pengunduh Foto Instagram Savinginsta, Anda dapat mengunduh foto dengan cepat. Tanpa tanda air.",
      },
      //Twitter
      { name: "twitter:card", content: "summary" },
      {
        name: "twitter:url",
        content: "https://savinginsta.com/id/instagram-photo-download",
      },
      {
        name: "twitter:title",
        content:
          "Pengunduh Foto Instagram - Unduh Foto Instagram dengan Savinginsta",
      },
      {
        name: "twitter:description",
        content:
          "Pengunduh Foto Instagram yang memungkinkan Anda mengunduh foto berkualitas tinggi secara online. Dengan alat Pengunduh Foto Instagram Savinginsta, Anda dapat mengunduh foto dengan cepat. Tanpa tanda air.",
      },
      //multilingual
      {
        name: "google",
        content: "notranslate",
      },
    ],
    link: [
      //multilingual
      {
        rel: "alternate",
        hreflang: "x-default",
        href: "https://savinginsta.com/id/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "en",
        href: "https://savinginsta.com/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "en-in",
        href: "https://savinginsta.com/in/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "vi",
        href: "https://savinginsta.com/vn/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "tr",
        href: "https://savinginsta.com/tr/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "id",
        href: "https://savinginsta.com/id/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "fr",
        href: "https://savinginsta.com/fr/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "pt",
        href: "https://savinginsta.com/pt/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "ru",
        href: "https://savinginsta.com/ru/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "es",
        href: "https://savinginsta.com/es/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "ms",
        href: "https://savinginsta.com/ms/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "ko",
        href: "https://savinginsta.com/ko/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "ja",
        href: "https://savinginsta.com/ja/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "jv",
        href: "https://savinginsta.com/jv/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "cs",
        href: "https://savinginsta.com/cs/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "de",
        href: "https://savinginsta.com/de/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "it",
        href: "https://savinginsta.com/it/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "pl",
        href: "https://savinginsta.com/pl/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "hu",
        href: "https://savinginsta.com/hu/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "nl",
        href: "https://savinginsta.com/nl/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "ro",
        href: "https://savinginsta.com/ro/instagram-photo-download",
      },
      {
        rel: "alternate",
        hreflang: "el",
        href: "https://savinginsta.com/el/instagram-photo-download",
      },
      {
        rel: "canonical",
        href: "https://savinginsta.com/id/instagram-photo-download",
      },
    ],
    script: [
      {
        json: {
          "@context": "http://schema.org",
          "@graph": [
            {
              "@type": "WebSite",
              name: "Savinginsta",
              alternateName: "Instagram downloader", 
              url: "https://savinginsta.com",
            },
            {
              "@type": "WebPage",
              name: "Pengunduh Foto Instagram - Unduh Foto Instagram dengan Savinginsta",
              inLanguage: "id",
              description:
                "Pengunduh Foto Instagram yang memungkinkan Anda mengunduh foto berkualitas tinggi secara online. Dengan alat Pengunduh Foto Instagram Savinginsta, Anda dapat mengunduh foto dengan cepat. Tanpa tanda air.",
              image: "https://savinginsta.com/static/images/savinginsta_thumbnail.jpg", //绝对路径
              url: "https://savinginsta.com/id/instagram-photo-download",
            },
          ],
        },
        type: "application/ld+json"
      },
    ],
  },
  data() {
    return {
      input: "",
      success: false,
      isHttpLoading: false,
      httpError1: false,
      httpError2: false,
      current: 0,
      successList: [],
      faqList: [
        {
          title: `Apa itu pengunduh foto Instagram?`,
          content: `Ini adalah alat yang mendukung pengunduhan foto Instagram apa pun, postingan ke perangkat pribadi Anda. Anda dapat menyimpan foto Insta ke PC, Mac, Android, iOS, dan iPhone.`,
        },
        {
          title: `Bisakah saya mengunduh Foto Pribadi Instagram?`,
          content: `Tidak, Savinginsta hanya mendukung penyimpanan foto Instagram dari akun Publik.`,
        },
        {
          title: `Apakah saya perlu Login saat menyimpan foto Instagram?`,
          content: `Tidak, Anda tidak perlu masuk ke akun Anda. Pengunduh foto IG kami sangat aman.`,
        },
        {
          title: `Apakah situs web mendukung pengunduhan foto Insta ke komputer?`,
          content: `Ya, Anda dapat dengan mudah mengunduh video dan foto ke komputer Anda. Lihat juga: Unduh dari Insta di PC.`,
        },
        {
          title: `Bisakah Anda mengunduh foto Insta untuk Android?`,
          content: `Ya, cukup copy link postingan tersebut dan paste ke dalam kotak di website kita, lalu simpan. Untuk informasi lebih lanjut: Unduh dari Insta di Android.`,
        },
        {
          title: `Di mana unduhan foto IG saya disimpan setelah diunduh?`,
          content: `Video biasanya disimpan di folder "Download" di Ponsel Android dan PC.`,
        },
      ],
    };
  },
  computed: {
    ...mapGetters(["language"]),
  },
  mounted() {
    this.debouncedDownInput = this.debounce(this.downInput, 1000);
  },
  methods: {
    async downloadHandel() {
      if (this.isHttpLoading || this.input === "") return;
      this.isHttpLoading = false;
      this.httpError1 = false;
      this.httpError2 = false;
      this.input = this.input.replace(/^.*\s?https:\/\//, "https://");
      let type = checkString(this.input);
      const insUrlPattern = new RegExp("^http(s|)://.*instagram.com.*/.*$");
      if (!insUrlPattern.test(this.input)) {
        //点击解析下载按钮
        handleClick("action_ins_detect_boinsom", {
          site: "other",
          noislink: this.input,
          from: "photo",
          type: type,
        });
        this.httpError2 = true;
        this.isHttpLoading = false;
        return;
      }
      //点击解析下载按钮
      handleClick("action_ins_detect_boinsom", {
        site: "other",
        from: "photo",
        type: type,
      });
      //开始解析  ins_start_resolve
      handleClick("ins_start_resolve", {
        islink: this.input,
        from: "photo",
        type: type,
      });
      this.isHttpLoading = true;
      try {
        let result = this.uki(this.input);
        const response = await fetch(
          "https://savinginsta.com/api/downloader/analysis",
          {
            method: "POST",
            headers: { "Content-Type": "application/json" },
            body: JSON.stringify({
              path: result,
            }),
          }
        );
        let encryptedResponse = await response.text();
        let parse = JSON.parse(encryptedResponse);
        if (parse.code != 200) {
          // 解析失败  ins_resolve_fail
          handleClick("ins_resolve_fail", {
            reason: "Failed to fetch",
            islink: this.input,
            from: "photo",
            type: type,
          });
          this.httpError1 = true;
          this.isHttpLoading = false;
          return;
        } else {
          let decryptedResponse = await this.eki(parse.data); // 使用你的解密函数
          this.successList = JSON.parse(decryptedResponse);
          this.success = true;
          this.isHttpLoading = false;
          //解析成功  ins_resolve_success
          handleClick("ins_resolve_success", {
            type: type,
            from: "photo",
          });
        }
      } catch (error) {
        // 解析失败  ins_resolve_fail
        handleClick("ins_resolve_fail", {
          reason: "Failed to fetch",
          islink: this.input,
          from: "photo",
          type: type,
        });
        console.error(error);
        this.httpError1 = true;
        this.isHttpLoading = false;
      }
    },

    uki(input) {
      let CIPHER_ALGORITHM = "DES-CBC";
      let IV_SIZE = 8;
       
      
  try {
        const complexKey = [
          process.env.part1,
          process.env.part2,
          process.env.part3,
          process.env.part4,
          process.env.part5,
          process.env.part6,
          process.env.part7,
          process.env.part8,
        ].join("");
        const keyBytes = CryptoJS.enc.Utf8.parse(complexKey);
        const inputBytes = CryptoJS.enc.Utf8.parse(input);
        const ivBytes = CryptoJS.lib.WordArray.random(IV_SIZE);
        const encrypted = CryptoJS.DES.encrypt(inputBytes, keyBytes, {
          iv: ivBytes,
          mode: CryptoJS.mode.CBC,
          padding: CryptoJS.pad.Pkcs7,
        });
        const ciphertext = ivBytes.concat(encrypted.ciphertext);
        return ciphertext.toString();
      } catch (error) {
        console.error(error);
        return null;
      }
    },
    eki(cipherText) {
      let CIPHER_ALGORITHM = "DES-CBC";
      let IV_SIZE = 8;
       
      const complexKey = [
          process.env.part1,
          process.env.part2,
          process.env.part3,
          process.env.part4,
          process.env.part5,
          process.env.part6,
          process.env.part7,
          process.env.part8,
        ].join("");
      try {
        let keyBytes = CryptoJS.enc.Utf8.parse(
          complexKey.padEnd(CIPHER_ALGORITHM === "DES-CBC" ? 8 : 16)
        );
        let ivBytes = { iv: CryptoJS.enc.Hex.parse(process.env.DES_IV) }; // 如果使用CBC模式，需要一个初始化向量iv，这里是空向量
        let decrypted = CryptoJS.DES.decrypt(
          { ciphertext: CryptoJS.enc.Hex.parse(cipherText) },
          keyBytes,
          ivBytes
        );
        return decrypted.toString(CryptoJS.enc.Utf8);
      } catch (e) {
        console.error(e);
        return null;
      }
    },
    sendDownload(event) {
      if (event.keyCode === 13 && !this.isHttpLoading) {
        this.downloadHandel();
        event.preventDefault();
        return false;
      }
    },
    changeTab(k) {
      this.current = k;
    },
    handleInput(e) {
      this.debouncedDownInput(e);
    },
    debounce(fn, delay) {
      let timer;
      return function () {
        let context = this;
        let args = arguments;
        clearTimeout(timer);
        timer = setTimeout(() => {
          fn.apply(context, args);
        }, delay);
      };
    },
    downInput(e) {
      let type = checkString(e.target.value);
      // 粘贴链接到输入框 action_ins_paste
      handleClick("action_ins_paste", {
        islink: e.target.value,
        from: "video",
        type: type,
      });
    },
    handleClickPasted() {
      if (!navigator.clipboard) {
        console.log("Clipboard API not available");
        return;
      }
      navigator.clipboard
        .readText()
        .then((text) => {
          this.input = text;
          let type = checkString(text);
          // 粘贴链接到输入框 action_ins_paste
          handleClick("action_ins_paste", {
            islink: text,
            from: "video",
            type: type,
          });
        })
        .catch((err) => {
          console.error("Failed to read clipboard contents: ", err);
        });
    },
    showLanguageHandel() {
      this.$refs.languageRef.close();
    },
    refresh() {
      this.success = false;
      this.input = "";
      this.successList = [];
    },
  },
};
</script>
  <style lang="scss" scoped>
@import "@/static/style/photo.css";
.loading {
  .loading-dots {
    position: relative;
    z-index: 999;
    margin-top: 70px;
  }

  .dot {
    background-color: #ffffff;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin: 0 10px;
    animation: loading-animation 1.5s infinite;
  }

  .dot:nth-child(2) {
    animation-delay: 0.5s;
  }

  .dot:nth-child(3) {
    animation-delay: 0.8s;
  }
  .dot:nth-child(4) {
    animation-delay: 1s;
  }
}
@keyframes loading-animation {
  0%,
  50%,
  80%,
  100% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.5);
  }
}
@media (max-width: 768px) {
  .loading {
    .loading-dots {
      margin-top: 26px !important;
    }
    .dot {
      width: 8px !important;
      height: 8px !important;
    }
  }
}
</style>
  